package com.gxa.meiye.core.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;

/**
 * <p>
 * 订单
 * </p>
 *
 * @author chen
 * @since 2022-07-19
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_order")
public class Orders implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 预约时间
     */
    @ApiParam("订单预约时间")
    private Date time;

    @ApiParam("预约的项目id")
    private Integer projectId;

    @ApiParam("订单的创建用户的id")
    private String userId;

    @ApiParam("订单状态")
    private Integer status;

    @ApiParam("订单创建时间")
    private Date createdTime;

    @ApiParam("订单的对象店铺id")
    private String shopId;

    /**
     * 关联的美疗师id
     */
    @ApiParam("订单的对象美疗师id和shopId只能有一个")
    private String therapistId;

    /**
     * 原因
     */
    @ApiParam("订单的决绝原因")
    private String reasonId;

    /**
     * 内容
     */
    @ApiParam("订单的拒绝的内容")
    private String reasonExplain;

    /**
     * 流水号
     */
    @ApiParam("订单的流水号")
    private String serialNumber;

    /**
     * 支付金额
     */
    @ApiParam("订单的付款")
    private BigDecimal payMoney;

    /**
     * 退回钱
     */
    @ApiParam("订单的退款")
    private BigDecimal returnMoney;

    /**
     * 结算金额
     */
    @ApiParam("订单的结算金额")
    private BigDecimal getMoney;

    @ApiParam("订单的支付时间")
    private Date payTime;

    @ApiParam("订单的退款时间")
    private Date returnTime;

    @ApiParam("订单的结算时间")
    private Date getTime;

    /**
     * 对Project对象的1引用
     */
    private Projects project;

    HashMap hm = new HashMap<>();
}
